package com.menu.dao;

import com.menu.model.BaseModel;

import java.util.List;

/**
 * author: MaHX
 * date: 2019/8/8/19:31
 * description: 定义公共Dao方法
 **/
public interface BaseDao<T extends BaseModel> {
    /**
     * 根据id查询
     * @param id
     * @return
     */
    T findById(String id);

    /**
     * 动态查询
     * @param condition
     * @return
     */
    T find(T condition);

    /**
     * 动态查询List<T>
     * @param condition
     * @return
     */
    List<T> findList(T condition);

    /**
     * 查询全部
     * @return
     */
    List<T> findAll();

    /**
     * 插入一条数据
     * @param t
     */
    void insert(T t);

    /**
     * 根据T更新T
     * @param t
     */
    void update(T t);

    /**
     * 动态根据条件删除
     * @param condition
     */
    void delete(T condition);
}
